/*
 * Tencent is pleased to support the open source community by making ovCompose available.
 * Copyright (C) 2025 THL A29 Limited, a Tencent company. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.tencent.compose.sample.test

import androidx.compose.runtime.Immutable
import kotlinx.serialization.Serializable

/**
 * 测试事件数据模型
 */
@Immutable
@Serializable
data class TestEvent(
    val id: String,
    val title: String,
    val description: String,
    val startTime: Long,
    val endTime: Long,
    val location: String? = null,
    val organizer: String,
    val attendees: List<Long> = emptyList(),
    val maxAttendees: Int? = null,
    val category: EventCategory,
    val isPublic: Boolean = true,
    val tags: List<String> = emptyList(),
    val imageUrl: String? = null
)

/**
 * 事件分类枚举
 */
@Serializable
enum class EventCategory(val displayName: String) {
    CONFERENCE("会议"),
    WORKSHOP("工作坊"),
    SOCIAL("社交"),
    SPORTS("运动"),
    EDUCATION("教育"),
    ENTERTAINMENT("娱乐"),
    BUSINESS("商务"),
    OTHER("其他")
}
